package cn.edu.hqu.cst.android.ls.aihelper6;

import androidx.appcompat.app.AppCompatActivity;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.ProgressDialog;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLEncoder;

import android.os.Bundle;

public class Word extends AppCompatActivity {

    String question;
    EditText editText;
    Button search;
    TextView answer;
    private TextView tv_tianqi;
    private TextView tv_wendu;
    private TextView tv_fengli;
    private String API = "https://free-api.heweather.com/s6/weather/now?key=11e895a6b3854f0fb49508eea65df6ca&location=";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_word);
        editText = findViewById( R.id.word_edit_search);
        binID();
        search=findViewById( R.id.word_btn_search );
        answer=findViewById( R.id.word_text_answer );
        search.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                question = editText.getText().toString();
                String city = editText.getText().toString();
                new MyWeather().execute(API + city);
                if (question.contains( "华侨大学" ) | question.contains( "华大" )) {
                    //问题1：校区
                    if (question.contains( "校区" )) {
                        answer.setText( "华侨大学有三个校区，分别是泉州校区、厦门校区、龙舟池校区" );
                    }
                    //问题2：历史
                    if (question.contains( "历史" ) | question.contains( "创办" ) | question.contains( "时候" ) | question.contains( "时间" )) {
                        answer.setText( "华侨大学创办于1960年，距今已有60年的历史，2020年11月1日，华侨大学将迎来60周年校庆，祝华侨大学生日快乐！" );
                    }
                    //问题3：校训
                    if (question.contains( "校训" )) {
                        answer.setText( "华侨大学校训:会通中外并育德才" );
                    }
                    //问题4：校歌
                    if (question.contains( "校歌" )) {
                        answer.setText( "华侨大学校歌:《一方沃土》" );
                    }
                    //问题5：校长
                    if (question.contains( "校长" ) | question.contains( "谁创办" )) {
                        if (question.contains( "现任" )) {
                            answer.setText( "华侨大学现任校长:徐西鹏" );
                        }
                        if (question.contains( "第一" )) {
                            answer.setText( "华侨大学第一任任校长:廖承志" );
                        } else {
                            answer.setText( "华侨大学现任校长:徐西鹏;华侨大学第一任任校长:廖承志" );
                        }
                    }
                    //问题6：性质
                    if (question.contains( "211" ) | question.contains( "985" )) {
                        answer.setText( "华侨大学不是985院校，也不是211院校" );
                    }
                    if (question.contains( "双一流" )) {
                        answer.setText( "华侨大学是福建省双一流建设高校" );
                    }
                    //问题7：学院
                    if (question.contains( "学院" )) {
                        answer.setText( "华侨大学有28个教学学院，分别是：·国际学院·哲学与社会发展学院·经济与金融学院·法学院·国际关系学院/新侨学院·马克思主义学院/通识教育学院·体育学院·文学院·华文学院·外国语学院·新闻与传播学院·数学科学学院·统计学院·机电及自动化学院·材料科学与工程学院·信息科学与工程学院·计算机科学与技术学院·土木工程学院·化工学院·建筑学院·工学院·医学院/生物医学学院工商管理学院·政治与公共管理学院·旅游学院·音乐舞蹈学院·美术学院·厦航学院/泛华学院·美国中文学院·南洋学院·继续教育学院·创新创业学院" );
                    }
                    //问题8：隶属
                    if (question.contains( "隶属" ) | question.contains( "部" ) | question.contains( "公立" )) {
                        answer.setText( "华侨大学是公立院校、部属大学，隶属中央统战部" );
                    }
                    //问题9：地址
                    if (question.contains( "地址" ) | question.contains( "哪里" )) {
                        answer.setText( "泉州校区：泉州市丰泽区城华北路269号 厦门校区：厦门市集美区集美大道668号 龙舟池校区：厦门市集美区嘉庚路8号" );
                    }
                    //问题10：篮球
                    if (question.contains( "男篮" ) | question.contains( "CUBA" ) | question.contains( "篮球" ) | question.contains( "冠军" )) {
                        answer.setText( "华侨大学是CUBA九冠王，是2018年世界大学生3V3篮球赛男篮冠军" );
                    }
                    //问题11：宿舍
                    if (question.contains( "住" ) | question.contains( "宿舍" ) | question.contains( "人间" )) {
                        answer.setText( "华侨大学宿舍以4人间为主，也有2人间与6人间，境外生、研究生多住2人间，境内生本科生、研究生新生多住4人间，本科生新生多住6人间" );
                    }
                    //问题12：食堂
                    if (question.contains( "吃" ) | question.contains( "食堂" ) | question.contains( "餐厅" )) {
                        answer.setText( "华侨大学泉州校区拥有第一餐厅、第二餐厅、第三餐厅、清真主题餐厅、西苑餐厅、南苑餐厅6家食堂；厦门校区拥有凤林餐厅、凤翔餐厅、凤竹餐厅、凤华餐厅、紫荆一餐厅、紫荆二餐厅、紫荆三餐厅7家食堂；菜色鲜香，品种丰富，菜系综合，符合大多学生的口味" );
                    }
                    //问题13：校内交通
                    if (question.contains( "骑" ) | (question.contains( "校内" ) && question.contains( "公交" ))) {
                        answer.setText( "允许骑自行车上学，不允许骑电动车、摩托车上学，学校有校园公交可供搭乘" );
                    }
                    //问题14：校外交通
                    if (question.contains( "去" ) | question.contains( "走" ) | question.contains( "到" ) | question.contains( "公交" )) {
                        answer.setText( "华侨大学厦门校区乘坐BRT快1线、快6线可达，2023年即将开通地铁6号线，公交491路;691路;900路;902路;906路;907路;915路;948路;949路;955路;992路可达；泉州校区乘坐公交11路;11路复线;19路;35路;42路;203路;K502路;K502路夜班;K605路;K701路;K702路长线;K702路短线可达；龙舟池校区乘公交901路;905路;923路;935路;961路;集游1线可达" );
                    }
                    //问题15：分数线
                    if (question.contains( "分数" ) | question.contains( "录取" ) | question.contains( "好考" )) {
                        answer.setText( "欢迎您前往华侨大学招生信息网https://zsc.hqu.edu.cn/查询有关内容" );
                    }
                    //问题16：保研问题
                    if (question.contains( "保研" )) {
                        answer.setText( "华侨大学拥有保研名额" );
                    }
                    //问题17：周边环境
                    if (question.contains( "周边" )) {
                        answer.setText( "华侨大学厦门校区周边有:万科云城、银泰百货、万达广场等商业设施；泉州校区周边有泰禾广场、宝德城东商城、中骏世界城等商业设施；龙舟池校区周边有石鼓路等商业设施" );
                    }
                    //问题18：官网
                    if (question.contains( "官网" )) {
                        answer.setText( "华侨大学官网https://www.hqu.edu.cn/" );
                    }
                    //问题19：联系方式
                    if (question.contains( "电话" ) | question.contains( "联系" )) {
                        answer.setText( "华侨大学招生处热线0595-22695678" );
                    }
                    //问题20：设施
                    if (question.contains( "设施" ) | question.contains( "有图书馆" ) | question.contains( "有田径场" ) | question.contains( "有篮球场" ) | question.contains( "有羽网馆" ) | question.contains( "有游泳池" )) {
                        answer.setText( "华侨大学拥有图书馆、田径场、篮球场、实验室、羽网馆、游泳池等设施" );
                    }
                } else {
                    answer.setText( "抱歉！无法识别您的问题！为您找到以下解决方案：1.将问题叙述得更加完整；2.前往https://cn.bing.com/必应或https://www.baidu.com/百度搜寻您的问题" );
                }
            }
        });
    }
    class MyWeather extends AsyncTask<String, String, String> {
        @Override
        protected String doInBackground(String... strings) {
            StringBuffer stringBuffer = null;

            try {
                URL url = new URL(strings[0]);
                HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
                InputStream inputStream = null;
                if (httpURLConnection.getResponseCode() == 200) {
                    inputStream = httpURLConnection.getInputStream();
                    //检测网络异常
                } else {
                    return "11";
                }
                InputStreamReader reader = new InputStreamReader(inputStream, "UTF-8");
                BufferedReader bufferedReader = new BufferedReader(reader);
                stringBuffer = new StringBuffer();
                String timp = null;
                while ((timp = bufferedReader.readLine()) != null) {
                    stringBuffer.append(timp);
                }
                inputStream.close();
                reader.close();
                bufferedReader.close();
            } catch (MalformedURLException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            return stringBuffer.toString();
        }
        @Override
        protected void onPostExecute(String s) {
            super.onPostExecute(s);
            if (s.equals("11")) {

                Toast.makeText(Word.this, "网络异常", Toast.LENGTH_SHORT).show();
            }
            try {
                JSONObject object = new JSONObject(s);
                JSONObject object1 = object.getJSONArray("HeWeather6").getJSONObject(0);
                JSONObject basic = object1.getJSONObject("basic");
                JSONObject now = object1.getJSONObject("now");
                String city = basic.getString("location");
                String tianqi = now.getString("cond_txt");
                String wendu = now.getString("tmp");
                String fengli = now.getString("wind_dir");
                String qiangdu = now.getString("wind_sc");
                tv_tianqi.setText( tianqi );
                tv_wendu.setText(wendu + "℃");
                tv_fengli.setText(fengli + qiangdu + "级");

            } catch (JSONException e) {
                e.printStackTrace();
            }

        }

    }
    private void binID() {
        editText = findViewById(R.id.word_edit_search);
        search = findViewById(R.id.word_btn_search);
        tv_tianqi = findViewById(R.id.main_tianqi);
        tv_fengli = findViewById(R.id.main_fengli);
        tv_wendu = findViewById(R.id.main_wendu);
    }
}
